
export default {
  namespace: 'home',
  state: {
    title:''
  },

  /*
  * */
  subscriptions: {
    /*
      以 key/value 格式定义 subscription。
      subscription 是订阅，用于订阅一个数据源，然后根据需要 dispatch 相应的 action。
      在 app.start() 时被执行，数据源可以是当前的时间、服务器的 websocket 连接、keyboard 输入、geolocation 变化、history 路由变化等等。

      格式为 ({ dispatch, history }, done) => unlistenFunction。
      注意：subscription 并没有加 try...catch，所以有错误时需通过第二个参数 done 主动抛错。

      注意：如果要使用 app.unmodel()，subscription 必须返回 unlisten 方法，用于取消数据订阅。
    */
    setup/*←这个名字自定义的*/({ dispatch, history }) {
      //↓
      //在此监听路径的变化，当路径发生变化后进入回调
      /* history.listen(({pathname})=>{
        if(pathname === '/home'){
          dispatch({type:'fetch',payload:{title:'我是首页'}});
        }
      }); */
    },
  },

  effects: {
    *fetch({ payload }, { call, put }) {
      //再次派发一个动作
      yield put({ type: 'save',payload });
    },
  },

  reducers: {
    save(state, action) {
      return { ...state, ...action.payload };
    },
  },

};
